library(tidyverse)
library(ggplot2)
library(lavaan)
library(car)Asian American Quality of Life: Analysis
Data set
This data set is from the 2015 Asian American Quality of Life survey. Participants are from Austin, Texas.
Input data set
qol <- read_csv("AAQoL.csv") |> mutate(across(where(is.character), ~as.factor(.x))) |>
mutate(`English Difficulties`=relevel(`English Difficulties`,ref="Not at all"),
`English Speaking`=relevel(`English Speaking`,ref="Not at all"),
Ethnicity = relevel(Ethnicity,ref="Chinese"))New names:
Rows: 2609 Columns: 231
── Column specification
──────────────────────────────────────────────────────── Delimiter: "," chr
(190): Gender, Ethnicity, Marital Status, No One, Spouse, Children, Gran... dbl
(41): Survey ID, Age, Education Completed, Household Size, Grandparent,...
ℹ Use `spec()` to retrieve the full column specification for this data. ℹ
Specify the column types or set `show_col_types = FALSE` to quiet this message.
• `Other` -> `Other...17`
• `Other` -> `Other...89`
qol |> DT::datatable()Warning in instance$preRenderHook(instance): It seems your data is too big for
client-side DataTables. You may consider server-side processing:
https://rstudio.github.io/DT/server.html
There are 2,609 responses, some with missing data.
Summary statistics
Gender
qol |> group_by(`Gender`) |> summarize(n=n()) |>
mutate(pct = n/sum(n)*100) |>
arrange(desc(n))# A tibble: 3 × 3
Gender n pct
<fct> <int> <dbl>
1 Female 1425 54.6
2 Male 1157 44.3
3 <NA> 27 1.03
Age
qol |> filter(!is.na(Age)) |> summarize(age=mean(Age),SD=sd(Age),min=min(Age),max=max(Age))# A tibble: 1 × 4
age SD min max
<dbl> <dbl> <dbl> <dbl>
1 42.9 17.1 18 98
qol |> filter(Age >= 50) |> summarize (n=n())# A tibble: 1 × 1
n
<int>
1 853
qol |> filter(Age >= 65) |> summarize (n=n(), median=quantile(Age,0.5))# A tibble: 1 × 2
n median
<int> <dbl>
1 382 71
Ethnicity
qol |> group_by(Ethnicity) |> summarize(n=n()) |> mutate(pct = n/sum(n)*100) |>
arrange(desc(n))# A tibble: 7 × 3
Ethnicity n pct
<fct> <int> <dbl>
1 Chinese 639 24.5
2 Asian Indian 574 22.0
3 Vietnamese 514 19.7
4 Korean 471 18.1
5 Filipino 265 10.2
6 Other 144 5.52
7 <NA> 2 0.0767
Marital Status
qol |> group_by(`Marital Status`) |> summarize(n=n()) |> mutate(pct = n/sum(n)*100) |>
arrange(desc(n))# A tibble: 5 × 3
`Marital Status` n pct
<fct> <int> <dbl>
1 Married 1725 66.1
2 Single 726 27.8
3 Living with a partner 110 4.22
4 Other 30 1.15
5 <NA> 18 0.690
Living Alone
qol |> mutate(alone=if_else(`No One`==0,"With Others","Alone")) |>
mutate(alone=factor(alone, levels=c("Alone","With Others"))) |>
group_by(alone) |>
summarize(n=n()) |>
mutate(pct = n/sum(n)*100) |>
arrange(desc(n))# A tibble: 3 × 3
alone n pct
<fct> <int> <dbl>
1 With Others 2392 91.7
2 Alone 212 8.13
3 <NA> 5 0.192
Religion
qol |> group_by(Religion) |> summarize(n=n()) |> mutate(pct = n/sum(n)*100) |>
arrange(desc(n))# A tibble: 8 × 3
Religion n pct
<fct> <int> <dbl>
1 Protestant 645 24.7
2 None 506 19.4
3 Catholic 492 18.9
4 Hindu 479 18.4
5 Buddhist 350 13.4
6 Muslim 68 2.61
7 Other 47 1.80
8 <NA> 22 0.843
Employment
qol |> mutate(`Full Time Employment`= ifelse(`Full Time Employment`==0,"No","Yes")) |>
group_by(`Full Time Employment`) |> summarize(n=n()) |>
mutate(pct = n/sum(n)*100) |>
arrange(desc(n))# A tibble: 3 × 3
`Full Time Employment` n pct
<chr> <int> <dbl>
1 No 1458 55.9
2 Yes 1144 43.8
3 <NA> 7 0.268
US Born
qol |>group_by(`US Born`) |> summarize(n=n()) |>
mutate(pct = n/sum(n)*100) |>
arrange(desc(n))# A tibble: 3 × 3
`US Born` n pct
<fct> <int> <dbl>
1 No 2353 90.2
2 Yes 239 9.16
3 <NA> 17 0.652
Duration
qol |> filter(!is.na(`Duration of Residency`)) |>
summarize(mean=mean(`Duration of Residency`), SD = sd(`Duration of Residency`))# A tibble: 1 × 2
mean SD
<dbl> <dbl>
1 15.6 12.7
English Speaking and Difficulty
Primary Speakers
1 = Primary Speaker, 0 = non-primary speaker
qol |> group_by(`Primary Language`) |> summarize(n=n()) |>
mutate(pct = n/sum(n)*100) |>
arrange(desc(n))# A tibble: 3 × 3
`Primary Language` n pct
<dbl> <int> <dbl>
1 1 1725 66.1
2 0 859 32.9
3 NA 25 0.958
Profiency
qol |> group_by(`English Speaking`) |> summarize(n=n()) |>
mutate(pct = n/sum(n)*100) |>
arrange(desc(n))# A tibble: 5 × 3
`English Speaking` n pct
<fct> <int> <dbl>
1 Very well 974 37.3
2 Well 808 31.0
3 Not well 632 24.2
4 Not at all 177 6.78
5 <NA> 18 0.690
qol |> group_by(`English Difficulties`) |> summarize(n=n()) |>
mutate(pct = n/sum(n)*100) |>
arrange(desc(n))# A tibble: 5 × 3
`English Difficulties` n pct
<fct> <int> <dbl>
1 Not at all 772 29.6
2 Not much 733 28.1
3 Much 549 21.0
4 Very much 516 19.8
5 <NA> 39 1.49
Familiarity with America and Ethnic Origin
qol |> group_by(`Familiarity with America`) |> summarize(n=n()) |>
mutate(pct = n/sum(n)*100) |>
arrange(desc(n))# A tibble: 5 × 3
`Familiarity with America` n pct
<fct> <int> <dbl>
1 High 1238 47.5
2 Low 721 27.6
3 Very high 498 19.1
4 Very low 123 4.71
5 <NA> 29 1.11
qol |> group_by(`Familiarity with Ethnic Origin`) |> summarize(n=n()) |>
mutate(pct = n/sum(n)*100) |>
arrange(desc(n))# A tibble: 5 × 3
`Familiarity with Ethnic Origin` n pct
<fct> <int> <dbl>
1 High 1369 52.5
2 Very high 864 33.1
3 Low 295 11.3
4 Very low 51 1.95
5 <NA> 30 1.15
Comparing Familiarity with Ethnic Origin and America,
qol |> group_by(`Familiarity with Ethnic Origin`,`Familiarity with America`) |> summarize(n=n()) |>
mutate(pct = n/sum(n)*100) |>
arrange(desc(n))`summarise()` has grouped output by 'Familiarity with Ethnic Origin'. You can
override using the `.groups` argument.
# A tibble: 23 × 4
# Groups: Familiarity with Ethnic Origin [5]
`Familiarity with Ethnic Origin` `Familiarity with America` n pct
<fct> <fct> <int> <dbl>
1 High High 711 51.9
2 High Low 431 31.5
3 Very high High 422 48.8
4 Very high Very high 250 28.9
5 Very high Low 167 19.3
6 High Very high 165 12.1
7 Low Low 109 36.9
8 Low High 91 30.8
9 Low Very high 67 22.7
10 High Very low 51 3.73
# ℹ 13 more rows
Identifying to the ethnic community
qol |> group_by(`Identify Ethnically`) |> summarize(n=n()) |>
mutate(pct = n/sum(n)*100) |>
arrange(desc(n))# A tibble: 5 × 3
`Identify Ethnically` n pct
<fct> <int> <dbl>
1 Somewhat close 1211 46.4
2 Very close 1039 39.8
3 Not very close 293 11.2
4 <NA> 35 1.34
5 Not at all 31 1.19
Belonging to the ethnic community
qol |> group_by(`Belonging`) |> summarize(n=n()) |>
mutate(pct = n/sum(n)*100) |>
arrange(desc(n))# A tibble: 5 × 3
Belonging n pct
<fct> <int> <dbl>
1 Somewhat 1255 48.1
2 Very much 766 29.4
3 Not very much 450 17.2
4 Not at all 87 3.33
5 <NA> 51 1.95
Perceived Discrimination
qol |> group_by(Discrimination) |> summarize(n=n()) |>
mutate(pct = n/sum(n)*100) |>
arrange(desc(n))# A tibble: 3 × 3
Discrimination n pct
<dbl> <int> <dbl>
1 0 1598 61.2
2 1 694 26.6
3 NA 317 12.2
Income
qol |> group_by(Income) |> summarize(n=n()) |>
mutate(pct = n/sum(n)*100) |>
arrange(desc(n))# A tibble: 9 × 3
Income n pct
<fct> <int> <dbl>
1 $70,000 and over 993 38.1
2 $0 - $9,999 254 9.74
3 $30,000 - $39,999 207 7.93
4 $10,000 - $19,999 205 7.86
5 <NA> 203 7.78
6 $20,000 - $29,999 198 7.59
7 $60,000 - $69,999 190 7.28
8 $40,000 - $49,999 181 6.94
9 $50,000 - $59,999 178 6.82
Analysis
Income
Source of Information association with income after controlling for ethnicity.
qol_1 <- qol |> select(Family,Income,Ethnicity,`English Difficulties`) %>% filter(complete.cases(.)) |>
filter(Family %in%c("Yes","No")) |>
mutate(Family=droplevels(Family))
glm(Family~Income+Ethnicity+`English Difficulties`,data=qol_1,family="binomial") -> mod1
summary(mod1)
Call:
glm(formula = Family ~ Income + Ethnicity + `English Difficulties`,
family = "binomial", data = qol_1)
Coefficients:
Estimate Std. Error z value Pr(>|z|)
(Intercept) 0.9835 0.1686 5.835 5.39e-09 ***
Income$10,000 - $19,999 -0.4017 0.1978 -2.031 0.042272 *
Income$20,000 - $29,999 -0.3867 0.2003 -1.931 0.053474 .
Income$30,000 - $39,999 -0.5303 0.1964 -2.700 0.006926 **
Income$40,000 - $49,999 -0.6108 0.2035 -3.002 0.002683 **
Income$50,000 - $59,999 -0.4058 0.2040 -1.989 0.046698 *
Income$60,000 - $69,999 -0.6197 0.1994 -3.107 0.001889 **
Income$70,000 and over -0.5698 0.1488 -3.829 0.000129 ***
EthnicityAsian Indian -0.3872 0.1262 -3.067 0.002161 **
EthnicityFilipino -0.2240 0.1596 -1.403 0.160531
EthnicityKorean -0.6323 0.1316 -4.804 1.56e-06 ***
EthnicityOther -0.8091 0.2004 -4.037 5.41e-05 ***
EthnicityVietnamese -0.7411 0.1296 -5.719 1.07e-08 ***
`English Difficulties`Much 0.2193 0.1216 1.804 0.071241 .
`English Difficulties`Not much -0.1465 0.1121 -1.307 0.191244
`English Difficulties`Very much -0.2561 0.1226 -2.089 0.036718 *
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
(Dispersion parameter for binomial family taken to be 1)
Null deviance: 3278.8 on 2365 degrees of freedom
Residual deviance: 3199.1 on 2350 degrees of freedom
AIC: 3231.1
Number of Fisher Scoring iterations: 4
car::Anova(mod1)Analysis of Deviance Table (Type II tests)
Response: Family
LR Chisq Df Pr(>Chisq)
Income 17.865 7 0.012592 *
Ethnicity 46.064 5 8.812e-09 ***
`English Difficulties` 15.163 3 0.001683 **
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
Source of Information: Close Friends association with income after controlling for ethnicity.
qol_1 <- qol |> select(`Close Friend`,Income,Ethnicity,`English Difficulties`) %>% filter(complete.cases(.))
glm(`Close Friend`~Income+Ethnicity+`English Difficulties`,data=qol_1,family="binomial") -> mod1
summary(mod1)
Call:
glm(formula = `Close Friend` ~ Income + Ethnicity + `English Difficulties`,
family = "binomial", data = qol_1)
Coefficients:
Estimate Std. Error z value Pr(>|z|)
(Intercept) -0.13492 0.16582 -0.814 0.4158
Income$10,000 - $19,999 -0.12475 0.19739 -0.632 0.5274
Income$20,000 - $29,999 -0.15124 0.20182 -0.749 0.4536
Income$30,000 - $39,999 -0.08579 0.19680 -0.436 0.6629
Income$40,000 - $49,999 -0.43329 0.21103 -2.053 0.0401 *
Income$50,000 - $59,999 -0.22828 0.20669 -1.104 0.2694
Income$60,000 - $69,999 -0.46163 0.20487 -2.253 0.0242 *
Income$70,000 and over -0.20467 0.14675 -1.395 0.1631
EthnicityAsian Indian 0.06090 0.12518 0.486 0.6266
EthnicityFilipino -0.71227 0.17234 -4.133 3.58e-05 ***
EthnicityKorean -0.20977 0.13206 -1.588 0.1122
EthnicityOther -0.43573 0.20772 -2.098 0.0359 *
EthnicityVietnamese -0.62180 0.13420 -4.633 3.60e-06 ***
`English Difficulties`Much 0.15348 0.12416 1.236 0.2164
`English Difficulties`Not much 0.12027 0.11561 1.040 0.2982
`English Difficulties`Very much -0.06415 0.12739 -0.504 0.6146
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
(Dispersion parameter for binomial family taken to be 1)
Null deviance: 3129.1 on 2366 degrees of freedom
Residual deviance: 3070.5 on 2351 degrees of freedom
AIC: 3102.5
Number of Fisher Scoring iterations: 4
car::Anova(mod1)Analysis of Deviance Table (Type II tests)
Response: Close Friend
LR Chisq Df Pr(>Chisq)
Income 8.196 7 0.3156
Ethnicity 43.365 5 3.116e-08 ***
`English Difficulties` 3.463 3 0.3256
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
Source of Information: Acquaintances association with income after controlling for ethnicity.
qol_1 <- qol |> select(Acquaintances,Income,Ethnicity,`English Difficulties`) %>% filter(complete.cases(.))
glm(Acquaintances~Income+Ethnicity+`English Difficulties`,data=qol_1,family="binomial") -> mod1
summary(mod1)
Call:
glm(formula = Acquaintances ~ Income + Ethnicity + `English Difficulties`,
family = "binomial", data = qol_1)
Coefficients:
Estimate Std. Error z value Pr(>|z|)
(Intercept) -1.727617 0.220213 -7.845 4.32e-15 ***
Income$10,000 - $19,999 0.002513 0.249860 0.010 0.9920
Income$20,000 - $29,999 -0.219677 0.261358 -0.841 0.4006
Income$30,000 - $39,999 0.278483 0.237736 1.171 0.2414
Income$40,000 - $49,999 -0.218013 0.265666 -0.821 0.4119
Income$50,000 - $59,999 -0.195756 0.269101 -0.727 0.4670
Income$60,000 - $69,999 -0.402071 0.273372 -1.471 0.1414
Income$70,000 and over -0.126052 0.190403 -0.662 0.5080
EthnicityAsian Indian 0.002203 0.181318 0.012 0.9903
EthnicityFilipino -0.230734 0.244509 -0.944 0.3453
EthnicityKorean 0.932955 0.162692 5.734 9.78e-09 ***
EthnicityOther -0.624315 0.353287 -1.767 0.0772 .
EthnicityVietnamese 0.363443 0.170930 2.126 0.0335 *
`English Difficulties`Much 0.162197 0.155709 1.042 0.2976
`English Difficulties`Not much 0.146756 0.144410 1.016 0.3095
`English Difficulties`Very much -0.417090 0.186744 -2.233 0.0255 *
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
(Dispersion parameter for binomial family taken to be 1)
Null deviance: 2184.9 on 2365 degrees of freedom
Residual deviance: 2086.6 on 2350 degrees of freedom
AIC: 2118.6
Number of Fisher Scoring iterations: 5
car::Anova(mod1)Analysis of Deviance Table (Type II tests)
Response: Acquaintances
LR Chisq Df Pr(>Chisq)
Income 8.626 7 0.280627
Ethnicity 59.637 5 1.445e-11 ***
`English Difficulties` 11.434 3 0.009596 **
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
Source of Information: Health professionals association with income after controlling for ethnicity.
qol_1 <- qol |> select(`Heal Professionals`,Income,Ethnicity,`English Difficulties`) %>% filter(complete.cases(.))
glm(`Heal Professionals`~Income+Ethnicity+`English Difficulties`,data=qol_1,family="binomial") -> mod1
summary(mod1)
Call:
glm(formula = `Heal Professionals` ~ Income + Ethnicity + `English Difficulties`,
family = "binomial", data = qol_1)
Coefficients:
Estimate Std. Error z value Pr(>|z|)
(Intercept) 0.10904 0.16694 0.653 0.513665
Income$10,000 - $19,999 -0.07481 0.20036 -0.373 0.708884
Income$20,000 - $29,999 0.13249 0.20079 0.660 0.509368
Income$30,000 - $39,999 0.07333 0.19732 0.372 0.710180
Income$40,000 - $49,999 0.17607 0.20424 0.862 0.388657
Income$50,000 - $59,999 0.45907 0.20508 2.238 0.025192 *
Income$60,000 - $69,999 0.26687 0.20027 1.333 0.182684
Income$70,000 and over 0.67613 0.14883 4.543 5.55e-06 ***
EthnicityAsian Indian -0.27207 0.12711 -2.140 0.032329 *
EthnicityFilipino 0.63742 0.16931 3.765 0.000167 ***
EthnicityKorean -0.37748 0.13352 -2.827 0.004696 **
EthnicityOther 0.21965 0.20171 1.089 0.276163
EthnicityVietnamese 0.26730 0.12994 2.057 0.039681 *
`English Difficulties`Much -0.73555 0.12326 -5.968 2.41e-09 ***
`English Difficulties`Not much -0.65957 0.11420 -5.776 7.67e-09 ***
`English Difficulties`Very much -0.49201 0.12455 -3.950 7.81e-05 ***
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
(Dispersion parameter for binomial family taken to be 1)
Null deviance: 3281.0 on 2366 degrees of freedom
Residual deviance: 3113.6 on 2351 degrees of freedom
AIC: 3145.6
Number of Fisher Scoring iterations: 4
car::Anova(mod1)Analysis of Deviance Table (Type II tests)
Response: Heal Professionals
LR Chisq Df Pr(>Chisq)
Income 44.661 7 1.591e-07 ***
Ethnicity 51.853 5 5.782e-10 ***
`English Difficulties` 48.112 3 2.016e-10 ***
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
car::vif(mod1) GVIF Df GVIF^(1/(2*Df))
Income 1.151798 7 1.010146
Ethnicity 1.223501 5 1.020376
`English Difficulties` 1.127631 3 1.020222
Source of Information: Mobile apps association with income after controlling for ethnicity.
qol_1 <- qol |> select(`Mobile Apps`,Income,Ethnicity,`English Difficulties`) %>% filter(complete.cases(.))
glm(`Mobile Apps`~Income+Ethnicity+`English Difficulties`,data=qol_1,family="binomial") -> mod1
summary(mod1)
Call:
glm(formula = `Mobile Apps` ~ Income + Ethnicity + `English Difficulties`,
family = "binomial", data = qol_1)
Coefficients:
Estimate Std. Error z value Pr(>|z|)
(Intercept) -2.85921 0.32318 -8.847 < 2e-16 ***
Income$10,000 - $19,999 0.60241 0.37201 1.619 0.10538
Income$20,000 - $29,999 0.72075 0.36691 1.964 0.04948 *
Income$30,000 - $39,999 0.45927 0.37707 1.218 0.22322
Income$40,000 - $49,999 0.28894 0.40142 0.720 0.47164
Income$50,000 - $59,999 0.90908 0.36056 2.521 0.01169 *
Income$60,000 - $69,999 0.47782 0.38099 1.254 0.20978
Income$70,000 and over 0.79709 0.29436 2.708 0.00677 **
EthnicityAsian Indian 0.31851 0.20435 1.559 0.11908
EthnicityFilipino 0.07508 0.26590 0.282 0.77768
EthnicityKorean -0.27606 0.24666 -1.119 0.26306
EthnicityOther 0.32946 0.30925 1.065 0.28672
EthnicityVietnamese 0.35557 0.21170 1.680 0.09305 .
`English Difficulties`Much -0.25604 0.20512 -1.248 0.21194
`English Difficulties`Not much -0.26762 0.18968 -1.411 0.15827
`English Difficulties`Very much 0.01876 0.18897 0.099 0.92090
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
(Dispersion parameter for binomial family taken to be 1)
Null deviance: 1531.5 on 2366 degrees of freedom
Residual deviance: 1502.5 on 2351 degrees of freedom
AIC: 1534.5
Number of Fisher Scoring iterations: 5
car::Anova(mod1)Analysis of Deviance Table (Type II tests)
Response: Mobile Apps
LR Chisq Df Pr(>Chisq)
Income 12.6505 7 0.08110 .
Ethnicity 10.1704 5 0.07055 .
`English Difficulties` 3.4183 3 0.33151
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
car::vif(mod1) GVIF Df GVIF^(1/(2*Df))
Income 1.165319 7 1.010988
Ethnicity 1.230721 5 1.020977
`English Difficulties` 1.153024 3 1.024015
Source of Information: Email association with income after controlling for ethnicity.
qol_1 <- qol |> select(Email,Income,Ethnicity,`English Difficulties`) %>% filter(complete.cases(.))
glm(Email~Income+Ethnicity+`English Difficulties`,data=qol_1,family="binomial") -> mod1
summary(mod1)
Call:
glm(formula = Email ~ Income + Ethnicity + `English Difficulties`,
family = "binomial", data = qol_1)
Coefficients:
Estimate Std. Error z value Pr(>|z|)
(Intercept) -1.71895 0.24254 -7.087 1.37e-12 ***
Income$10,000 - $19,999 0.09937 0.27699 0.359 0.71979
Income$20,000 - $29,999 -0.32526 0.30544 -1.065 0.28693
Income$30,000 - $39,999 0.18592 0.27474 0.677 0.49857
Income$40,000 - $49,999 -0.16323 0.30589 -0.534 0.59361
Income$50,000 - $59,999 -0.08853 0.30991 -0.286 0.77514
Income$60,000 - $69,999 0.12720 0.29100 0.437 0.66202
Income$70,000 and over -0.10039 0.21845 -0.460 0.64582
EthnicityAsian Indian -0.87637 0.19101 -4.588 4.47e-06 ***
EthnicityFilipino -0.84050 0.26084 -3.222 0.00127 **
EthnicityKorean -1.58062 0.25576 -6.180 6.41e-10 ***
EthnicityOther -0.99472 0.34914 -2.849 0.00439 **
EthnicityVietnamese -0.05644 0.16497 -0.342 0.73226
`English Difficulties`Much 0.49407 0.18743 2.636 0.00839 **
`English Difficulties`Not much 0.28658 0.18293 1.567 0.11721
`English Difficulties`Very much 0.51223 0.18759 2.731 0.00632 **
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
(Dispersion parameter for binomial family taken to be 1)
Null deviance: 1764.6 on 2366 degrees of freedom
Residual deviance: 1670.8 on 2351 degrees of freedom
AIC: 1702.8
Number of Fisher Scoring iterations: 5
car::Anova(mod1)Analysis of Deviance Table (Type II tests)
Response: Email
LR Chisq Df Pr(>Chisq)
Income 4.589 7 0.70999
Ethnicity 73.035 5 2.39e-14 ***
`English Difficulties` 10.028 3 0.01833 *
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
car::vif(mod1) GVIF Df GVIF^(1/(2*Df))
Income 1.158490 7 1.010564
Ethnicity 1.187805 5 1.017360
`English Difficulties` 1.119153 3 1.018939
Source of Information: Online Communities association with income after controlling for ethnicity.
qol_1 <- qol |> select(`Online Communities`,Income,Ethnicity,`English Difficulties`) %>% filter(complete.cases(.))
glm(`Online Communities`~Income+Ethnicity+`English Difficulties`,data=qol_1,family="binomial") -> mod1
summary(mod1)
Call:
glm(formula = `Online Communities` ~ Income + Ethnicity + `English Difficulties`,
family = "binomial", data = qol_1)
Coefficients:
Estimate Std. Error z value Pr(>|z|)
(Intercept) -2.03870 0.23962 -8.508 < 2e-16 ***
Income$10,000 - $19,999 -0.01142 0.30172 -0.038 0.96980
Income$20,000 - $29,999 0.27831 0.28966 0.961 0.33666
Income$30,000 - $39,999 0.48431 0.27354 1.771 0.07663 .
Income$40,000 - $49,999 0.09453 0.30373 0.311 0.75563
Income$50,000 - $59,999 0.43914 0.28372 1.548 0.12167
Income$60,000 - $69,999 0.34385 0.28154 1.221 0.22196
Income$70,000 and over 0.58261 0.21445 2.717 0.00659 **
EthnicityAsian Indian 0.21852 0.16404 1.332 0.18281
EthnicityFilipino -0.13816 0.22229 -0.622 0.53425
EthnicityKorean 0.20646 0.17278 1.195 0.23210
EthnicityOther 0.02038 0.26781 0.076 0.93934
EthnicityVietnamese -0.07559 0.17986 -0.420 0.67429
`English Difficulties`Much -0.14417 0.16464 -0.876 0.38121
`English Difficulties`Not much -0.07654 0.14947 -0.512 0.60858
`English Difficulties`Very much 0.03242 0.15910 0.204 0.83855
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
(Dispersion parameter for binomial family taken to be 1)
Null deviance: 2115.2 on 2366 degrees of freedom
Residual deviance: 2089.1 on 2351 degrees of freedom
AIC: 2121.1
Number of Fisher Scoring iterations: 4
car::Anova(mod1)Analysis of Deviance Table (Type II tests)
Response: Online Communities
LR Chisq Df Pr(>Chisq)
Income 15.2034 7 0.03348 *
Ethnicity 5.5935 5 0.34780
`English Difficulties` 1.2152 3 0.74937
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
car::vif(mod1) GVIF Df GVIF^(1/(2*Df))
Income 1.140891 7 1.009459
Ethnicity 1.226282 5 1.020608
`English Difficulties` 1.159297 3 1.024942
Source of Information: Health Website association with income after controlling for ethnicity.
qol_1 <- qol |> select(`Health Website`,Income,Ethnicity,`English Difficulties`) %>% filter(complete.cases(.))
glm(`Health Website`~Income+Ethnicity+`English Difficulties`,data=qol_1,family="binomial") -> mod1
summary(mod1)
Call:
glm(formula = `Health Website` ~ Income + Ethnicity + `English Difficulties`,
family = "binomial", data = qol_1)
Coefficients:
Estimate Std. Error z value Pr(>|z|)
(Intercept) -0.2305 0.1711 -1.347 0.17802
Income$10,000 - $19,999 0.2029 0.2062 0.984 0.32507
Income$20,000 - $29,999 0.4174 0.2069 2.018 0.04359 *
Income$30,000 - $39,999 0.3750 0.2036 1.842 0.06547 .
Income$40,000 - $49,999 0.2880 0.2113 1.363 0.17288
Income$50,000 - $59,999 0.8446 0.2084 4.053 5.06e-05 ***
Income$60,000 - $69,999 0.3306 0.2061 1.604 0.10878
Income$70,000 and over 0.7730 0.1537 5.029 4.92e-07 ***
EthnicityAsian Indian -0.1198 0.1276 -0.939 0.34789
EthnicityFilipino 0.2587 0.1614 1.602 0.10913
EthnicityKorean -0.1240 0.1332 -0.931 0.35190
EthnicityOther 0.3549 0.2011 1.765 0.07762 .
EthnicityVietnamese -0.3502 0.1326 -2.640 0.00829 **
`English Difficulties`Much -0.6831 0.1233 -5.540 3.03e-08 ***
`English Difficulties`Not much -0.6834 0.1140 -5.994 2.05e-09 ***
`English Difficulties`Very much -0.6671 0.1242 -5.371 7.84e-08 ***
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
(Dispersion parameter for binomial family taken to be 1)
Null deviance: 3246.0 on 2366 degrees of freedom
Residual deviance: 3105.5 on 2351 degrees of freedom
AIC: 3137.5
Number of Fisher Scoring iterations: 4
car::Anova(mod1)Analysis of Deviance Table (Type II tests)
Response: Health Website
LR Chisq Df Pr(>Chisq)
Income 42.766 7 3.701e-07 ***
Ethnicity 20.841 5 0.000868 ***
`English Difficulties` 52.778 3 2.045e-11 ***
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
car::vif(mod1) GVIF Df GVIF^(1/(2*Df))
Income 1.134844 7 1.009076
Ethnicity 1.210635 5 1.019298
`English Difficulties` 1.141474 3 1.022298
Other sources of information
qol |> select(`Health Info Discription`) |> group_by(`Health Info Discription`) |> summarize(n=n())# A tibble: 63 × 2
`Health Info Discription` n
<fct> <int>
1 Army Base 2
2 at school 1
3 books and radio 1
4 Books; learned from college 1
5 CDC, NIH-NLM 1
6 church 1
7 co-worker/trainings 1
8 Co-workers 1
9 Conference,literatures 1
10 courses 1
# ℹ 53 more rows
income: Only people above age 50
Source of Information association with income after controlling for ethnicity.
qol_1 <- qol |> filter(Age >=50) |>
select(Family,Income,Ethnicity,`English Difficulties`) %>% filter(complete.cases(.)) |>
filter(Family %in%c("Yes","No")) |>
mutate(Family=droplevels(Family))
glm(Family~Income+Ethnicity+`English Difficulties`,data=qol_1,family="binomial") -> mod1
summary(mod1)
Call:
glm(formula = Family ~ Income + Ethnicity + `English Difficulties`,
family = "binomial", data = qol_1)
Coefficients:
Estimate Std. Error z value Pr(>|z|)
(Intercept) 0.36681 0.30656 1.197 0.2315
Income$10,000 - $19,999 -0.26318 0.31311 -0.841 0.4006
Income$20,000 - $29,999 -0.23822 0.35264 -0.676 0.4993
Income$30,000 - $39,999 -0.47825 0.32187 -1.486 0.1373
Income$40,000 - $49,999 -0.74013 0.34391 -2.152 0.0314 *
Income$50,000 - $59,999 -0.17679 0.35075 -0.504 0.6142
Income$60,000 - $69,999 -0.82047 0.36974 -2.219 0.0265 *
Income$70,000 and over -0.27695 0.26501 -1.045 0.2960
EthnicityAsian Indian 0.05252 0.25650 0.205 0.8378
EthnicityFilipino -0.09251 0.30415 -0.304 0.7610
EthnicityKorean -0.29943 0.23696 -1.264 0.2064
EthnicityOther -0.93772 0.38605 -2.429 0.0151 *
EthnicityVietnamese -0.94545 0.22429 -4.215 2.49e-05 ***
`English Difficulties`Much 0.56231 0.23319 2.411 0.0159 *
`English Difficulties`Not much 0.19755 0.21576 0.916 0.3599
`English Difficulties`Very much 0.15509 0.25596 0.606 0.5446
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
(Dispersion parameter for binomial family taken to be 1)
Null deviance: 999.82 on 721 degrees of freedom
Residual deviance: 952.66 on 706 degrees of freedom
AIC: 984.66
Number of Fisher Scoring iterations: 4
car::Anova(mod1)Analysis of Deviance Table (Type II tests)
Response: Family
LR Chisq Df Pr(>Chisq)
Income 8.6351 7 0.27993
Ethnicity 26.7599 5 6.352e-05 ***
`English Difficulties` 6.4039 3 0.09353 .
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
Source of Information: Close Friends association with income after controlling for ethnicity.
qol_1 <- qol |>filter(Age >=50) |>
select(`Close Friend`,Income,Ethnicity,`English Difficulties`) %>% filter(complete.cases(.))
glm(`Close Friend`~Income+Ethnicity+`English Difficulties`,data=qol_1,family="binomial") -> mod1
summary(mod1)
Call:
glm(formula = `Close Friend` ~ Income + Ethnicity + `English Difficulties`,
family = "binomial", data = qol_1)
Coefficients:
Estimate Std. Error z value Pr(>|z|)
(Intercept) -0.42874 0.31299 -1.370 0.1707
Income$10,000 - $19,999 0.06728 0.31352 0.215 0.8301
Income$20,000 - $29,999 -0.24858 0.36367 -0.684 0.4943
Income$30,000 - $39,999 -0.10892 0.32556 -0.335 0.7380
Income$40,000 - $49,999 -0.28828 0.35142 -0.820 0.4120
Income$50,000 - $59,999 -0.37253 0.36649 -1.016 0.3094
Income$60,000 - $69,999 -0.70694 0.39991 -1.768 0.0771 .
Income$70,000 and over -0.15951 0.26749 -0.596 0.5510
EthnicityAsian Indian 0.04070 0.25788 0.158 0.8746
EthnicityFilipino -0.38790 0.33304 -1.165 0.2441
EthnicityKorean -0.28089 0.24605 -1.142 0.2536
EthnicityOther 0.06676 0.37571 0.178 0.8590
EthnicityVietnamese -0.58392 0.23313 -2.505 0.0123 *
`English Difficulties`Much 0.47513 0.23846 1.992 0.0463 *
`English Difficulties`Not much 0.16504 0.22609 0.730 0.4654
`English Difficulties`Very much -0.12862 0.27239 -0.472 0.6368
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
(Dispersion parameter for binomial family taken to be 1)
Null deviance: 927.18 on 722 degrees of freedom
Residual deviance: 904.51 on 707 degrees of freedom
AIC: 936.51
Number of Fisher Scoring iterations: 4
car::Anova(mod1)Analysis of Deviance Table (Type II tests)
Response: Close Friend
LR Chisq Df Pr(>Chisq)
Income 5.2953 7 0.62397
Ethnicity 9.1507 5 0.10320
`English Difficulties` 6.4572 3 0.09137 .
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
Source of Information: Acquaintances association with income after controlling for ethnicity.
qol_1 <- qol |>filter(Age >=50) |>
select(Acquaintances,Income,Ethnicity,`English Difficulties`) %>% filter(complete.cases(.))
glm(Acquaintances~Income+Ethnicity+`English Difficulties`,data=qol_1,family="binomial") -> mod1
summary(mod1)
Call:
glm(formula = Acquaintances ~ Income + Ethnicity + `English Difficulties`,
family = "binomial", data = qol_1)
Coefficients:
Estimate Std. Error z value Pr(>|z|)
(Intercept) -2.06434 0.41642 -4.957 7.15e-07 ***
Income$10,000 - $19,999 -0.03410 0.40031 -0.085 0.93212
Income$20,000 - $29,999 -0.47548 0.49996 -0.951 0.34159
Income$30,000 - $39,999 0.58230 0.38001 1.532 0.12544
Income$40,000 - $49,999 -0.21786 0.46266 -0.471 0.63772
Income$50,000 - $59,999 -0.44706 0.49626 -0.901 0.36766
Income$60,000 - $69,999 -0.12095 0.48259 -0.251 0.80210
Income$70,000 and over 0.13439 0.34044 0.395 0.69303
EthnicityAsian Indian 0.84645 0.33201 2.549 0.01079 *
EthnicityFilipino -0.01465 0.47236 -0.031 0.97526
EthnicityKorean 0.94250 0.30819 3.058 0.00223 **
EthnicityOther -0.34351 0.64752 -0.531 0.59576
EthnicityVietnamese 0.36256 0.31120 1.165 0.24401
`English Difficulties`Much 0.24058 0.29596 0.813 0.41629
`English Difficulties`Not much 0.08182 0.27975 0.292 0.76991
`English Difficulties`Very much -0.37375 0.37729 -0.991 0.32186
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
(Dispersion parameter for binomial family taken to be 1)
Null deviance: 665.42 on 721 degrees of freedom
Residual deviance: 634.44 on 706 degrees of freedom
AIC: 666.44
Number of Fisher Scoring iterations: 5
car::Anova(mod1)Analysis of Deviance Table (Type II tests)
Response: Acquaintances
LR Chisq Df Pr(>Chisq)
Income 8.7685 7 0.269710
Ethnicity 15.6699 5 0.007852 **
`English Difficulties` 2.9576 3 0.398204
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
Source of Information: Health professionals association with income after controlling for ethnicity.
qol_1 <- qol |> filter(Age >=50) |>
select(`Heal Professionals`,Income,Ethnicity,`English Difficulties`) %>% filter(complete.cases(.))
glm(`Heal Professionals`~Income+Ethnicity+`English Difficulties`,data=qol_1,family="binomial") -> mod1
summary(mod1)
Call:
glm(formula = `Heal Professionals` ~ Income + Ethnicity + `English Difficulties`,
family = "binomial", data = qol_1)
Coefficients:
Estimate Std. Error z value Pr(>|z|)
(Intercept) -0.28084 0.30836 -0.911 0.362415
Income$10,000 - $19,999 0.21623 0.31203 0.693 0.488327
Income$20,000 - $29,999 0.09153 0.35036 0.261 0.793900
Income$30,000 - $39,999 -0.03811 0.32043 -0.119 0.905329
Income$40,000 - $49,999 0.49568 0.33697 1.471 0.141292
Income$50,000 - $59,999 0.27589 0.34891 0.791 0.429109
Income$60,000 - $69,999 0.42902 0.36083 1.189 0.234440
Income$70,000 and over 0.97419 0.26694 3.649 0.000263 ***
EthnicityAsian Indian 0.37060 0.25872 1.432 0.152027
EthnicityFilipino 0.81650 0.33116 2.466 0.013679 *
EthnicityKorean -0.11733 0.24120 -0.486 0.626660
EthnicityOther 0.70143 0.38796 1.808 0.070608 .
EthnicityVietnamese 0.48786 0.22206 2.197 0.028024 *
`English Difficulties`Much -0.47030 0.23257 -2.022 0.043155 *
`English Difficulties`Not much -0.47406 0.21690 -2.186 0.028846 *
`English Difficulties`Very much -0.30988 0.25931 -1.195 0.232084
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
(Dispersion parameter for binomial family taken to be 1)
Null deviance: 1001.28 on 722 degrees of freedom
Residual deviance: 945.74 on 707 degrees of freedom
AIC: 977.74
Number of Fisher Scoring iterations: 4
car::Anova(mod1)Analysis of Deviance Table (Type II tests)
Response: Heal Professionals
LR Chisq Df Pr(>Chisq)
Income 23.4507 7 0.001422 **
Ethnicity 14.9889 5 0.010410 *
`English Difficulties` 5.6138 3 0.131986
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
car::vif(mod1) GVIF Df GVIF^(1/(2*Df))
Income 1.302470 7 1.019055
Ethnicity 1.363641 5 1.031502
`English Difficulties` 1.214059 3 1.032856
Source of Information: Mobile apps association with income after controlling for ethnicity.
qol_1 <- qol |>filter(Age >=50) |>
select(`Mobile Apps`,Income,Ethnicity,`English Difficulties`) %>% filter(complete.cases(.))
glm(`Mobile Apps`~Income+Ethnicity+`English Difficulties`,data=qol_1,family="binomial") -> mod1
summary(mod1)
Call:
glm(formula = `Mobile Apps` ~ Income + Ethnicity + `English Difficulties`,
family = "binomial", data = qol_1)
Coefficients:
Estimate Std. Error z value Pr(>|z|)
(Intercept) -3.68837 0.72722 -5.072 3.94e-07 ***
Income$10,000 - $19,999 1.23016 0.70722 1.739 0.0820 .
Income$20,000 - $29,999 1.26095 0.75515 1.670 0.0950 .
Income$30,000 - $39,999 0.75306 0.76359 0.986 0.3240
Income$40,000 - $49,999 0.45139 0.85089 0.530 0.5958
Income$50,000 - $59,999 0.65099 0.84715 0.768 0.4422
Income$60,000 - $69,999 1.10923 0.80040 1.386 0.1658
Income$70,000 and over 1.52534 0.64670 2.359 0.0183 *
EthnicityAsian Indian 0.99591 0.45319 2.198 0.0280 *
EthnicityFilipino -0.09863 0.62134 -0.159 0.8739
EthnicityKorean 0.21641 0.49337 0.439 0.6609
EthnicityOther 0.37391 0.69144 0.541 0.5887
EthnicityVietnamese 0.80723 0.41883 1.927 0.0539 .
`English Difficulties`Much -0.51195 0.42059 -1.217 0.2235
`English Difficulties`Not much -0.36401 0.36738 -0.991 0.3218
`English Difficulties`Very much -0.48091 0.47049 -1.022 0.3067
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
(Dispersion parameter for binomial family taken to be 1)
Null deviance: 398.98 on 722 degrees of freedom
Residual deviance: 379.32 on 707 degrees of freedom
AIC: 411.32
Number of Fisher Scoring iterations: 6
car::Anova(mod1)Analysis of Deviance Table (Type II tests)
Response: Mobile Apps
LR Chisq Df Pr(>Chisq)
Income 10.6108 7 0.1565
Ethnicity 8.1279 5 0.1493
`English Difficulties` 1.9692 3 0.5788
car::vif(mod1) GVIF Df GVIF^(1/(2*Df))
Income 1.325632 7 1.020339
Ethnicity 1.333288 5 1.029182
`English Difficulties` 1.269087 3 1.040516
Source of Information: Email association with income after controlling for ethnicity.
qol_1 <- qol |> filter(Age >=50) |>
select(Email,Income,Ethnicity,`English Difficulties`) %>% filter(complete.cases(.))
glm(Email~Income+Ethnicity+`English Difficulties`,data=qol_1,family="binomial") -> mod1
summary(mod1)
Call:
glm(formula = Email ~ Income + Ethnicity + `English Difficulties`,
family = "binomial", data = qol_1)
Coefficients:
Estimate Std. Error z value Pr(>|z|)
(Intercept) -0.990850 0.384575 -2.576 0.00998 **
Income$10,000 - $19,999 0.258859 0.400814 0.646 0.51839
Income$20,000 - $29,999 -0.343944 0.507724 -0.677 0.49814
Income$30,000 - $39,999 0.526123 0.403411 1.304 0.19217
Income$40,000 - $49,999 -0.245881 0.485303 -0.507 0.61240
Income$50,000 - $59,999 -0.001372 0.484744 -0.003 0.99774
Income$60,000 - $69,999 0.343542 0.465999 0.737 0.46099
Income$70,000 and over 0.416312 0.337439 1.234 0.21730
EthnicityAsian Indian -0.694628 0.307687 -2.258 0.02397 *
EthnicityFilipino -1.168110 0.422479 -2.765 0.00569 **
EthnicityKorean -1.660003 0.359541 -4.617 3.89e-06 ***
EthnicityOther -2.049923 0.747299 -2.743 0.00609 **
EthnicityVietnamese -0.728322 0.261011 -2.790 0.00526 **
`English Difficulties`Much 0.103462 0.289954 0.357 0.72123
`English Difficulties`Not much 0.012295 0.275223 0.045 0.96437
`English Difficulties`Very much -0.239403 0.326252 -0.734 0.46307
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
(Dispersion parameter for binomial family taken to be 1)
Null deviance: 699.09 on 722 degrees of freedom
Residual deviance: 653.48 on 707 degrees of freedom
AIC: 685.48
Number of Fisher Scoring iterations: 5
car::Anova(mod1)Analysis of Deviance Table (Type II tests)
Response: Email
LR Chisq Df Pr(>Chisq)
Income 7.319 7 0.3964
Ethnicity 35.659 5 1.111e-06 ***
`English Difficulties` 1.190 3 0.7553
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
car::vif(mod1) GVIF Df GVIF^(1/(2*Df))
Income 1.294807 7 1.018626
Ethnicity 1.322140 5 1.028319
`English Difficulties` 1.225625 3 1.034490
Source of Information: Online Communities association with income after controlling for ethnicity.
qol_1 <- qol |>
filter(Age >=50) |>
select(`Online Communities`,Income,Ethnicity,`English Difficulties`) %>% filter(complete.cases(.))
glm(`Online Communities`~Income+Ethnicity+`English Difficulties`,data=qol_1,family="binomial") -> mod1
summary(mod1)
Call:
glm(formula = `Online Communities` ~ Income + Ethnicity + `English Difficulties`,
family = "binomial", data = qol_1)
Coefficients:
Estimate Std. Error z value Pr(>|z|)
(Intercept) -1.58579 0.42761 -3.709 0.000208 ***
Income$10,000 - $19,999 0.06886 0.44701 0.154 0.877574
Income$20,000 - $29,999 -0.06721 0.50771 -0.132 0.894682
Income$30,000 - $39,999 0.03459 0.46045 0.075 0.940114
Income$40,000 - $49,999 -0.67664 0.57000 -1.187 0.235194
Income$50,000 - $59,999 0.35332 0.47552 0.743 0.457471
Income$60,000 - $69,999 -0.36161 0.57322 -0.631 0.528148
Income$70,000 and over 0.44661 0.37038 1.206 0.227885
EthnicityAsian Indian -0.07136 0.35618 -0.200 0.841216
EthnicityFilipino -0.07632 0.41833 -0.182 0.855229
EthnicityKorean -0.26110 0.34515 -0.756 0.449368
EthnicityOther 0.57520 0.44489 1.293 0.196043
EthnicityVietnamese 0.05264 0.30451 0.173 0.862747
`English Difficulties`Much -0.35620 0.31056 -1.147 0.251390
`English Difficulties`Not much -0.24270 0.28189 -0.861 0.389251
`English Difficulties`Very much -0.72440 0.36996 -1.958 0.050226 .
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
(Dispersion parameter for binomial family taken to be 1)
Null deviance: 609.67 on 722 degrees of freedom
Residual deviance: 592.24 on 707 degrees of freedom
AIC: 624.24
Number of Fisher Scoring iterations: 5
car::Anova(mod1)Analysis of Deviance Table (Type II tests)
Response: Online Communities
LR Chisq Df Pr(>Chisq)
Income 8.7773 7 0.2690
Ethnicity 3.0724 5 0.6888
`English Difficulties` 4.2641 3 0.2343
car::vif(mod1) GVIF Df GVIF^(1/(2*Df))
Income 1.325827 7 1.020350
Ethnicity 1.376986 5 1.032507
`English Difficulties` 1.277129 3 1.041612
Source of Information: Health Website association with income after controlling for ethnicity.
qol_1 <- qol |>filter(Age >=50) |>
select(`Health Website`,Income,Ethnicity,`English Difficulties`) %>% filter(complete.cases(.))
glm(`Health Website`~Income+Ethnicity+`English Difficulties`,data=qol_1,family="binomial") -> mod1
summary(mod1)
Call:
glm(formula = `Health Website` ~ Income + Ethnicity + `English Difficulties`,
family = "binomial", data = qol_1)
Coefficients:
Estimate Std. Error z value Pr(>|z|)
(Intercept) -0.5791 0.3412 -1.697 0.08961 .
Income$10,000 - $19,999 0.3790 0.3584 1.058 0.29025
Income$20,000 - $29,999 0.1019 0.4168 0.245 0.80680
Income$30,000 - $39,999 0.6505 0.3614 1.800 0.07187 .
Income$40,000 - $49,999 0.2670 0.3892 0.686 0.49269
Income$50,000 - $59,999 1.1734 0.3800 3.088 0.00201 **
Income$60,000 - $69,999 0.3058 0.4146 0.738 0.46077
Income$70,000 and over 1.2548 0.3017 4.160 3.19e-05 ***
EthnicityAsian Indian -0.1206 0.2716 -0.444 0.65705
EthnicityFilipino 0.4944 0.3205 1.542 0.12297
EthnicityKorean -0.5106 0.2581 -1.978 0.04788 *
EthnicityOther 0.6469 0.3884 1.665 0.09581 .
EthnicityVietnamese -0.4972 0.2383 -2.086 0.03694 *
`English Difficulties`Much -0.6411 0.2419 -2.650 0.00806 **
`English Difficulties`Not much -0.5409 0.2214 -2.443 0.01458 *
`English Difficulties`Very much -1.1101 0.2749 -4.039 5.37e-05 ***
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
(Dispersion parameter for binomial family taken to be 1)
Null deviance: 950.14 on 722 degrees of freedom
Residual deviance: 859.13 on 707 degrees of freedom
AIC: 891.13
Number of Fisher Scoring iterations: 4
car::Anova(mod1)Analysis of Deviance Table (Type II tests)
Response: Health Website
LR Chisq Df Pr(>Chisq)
Income 34.633 7 1.311e-05 ***
Ethnicity 17.853 5 0.0031368 **
`English Difficulties` 18.116 3 0.0004164 ***
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
car::vif(mod1) GVIF Df GVIF^(1/(2*Df))
Income 1.265151 7 1.016941
Ethnicity 1.334244 5 1.029256
`English Difficulties` 1.219501 3 1.033627
Other sources of information
qol |> filter(Age >=50) |> select(`Health Info Discription`) |> group_by(`Health Info Discription`) |> summarize(n=n())# A tibble: 25 × 2
`Health Info Discription` n
<fct> <int>
1 books and radio 1
2 CDC, NIH-NLM 1
3 church 1
4 Don't know 1
5 Dr. Oz show 1
6 Family Doctor 2
7 From work 1
8 Health & News XXX 1
9 Internet, google 1
10 Korean Newspaper 1
# ℹ 15 more rows
Health Care Access and Utilization
We will use a model comparison approach to determine whether accounting for Asian ethnicity will improve model performance. The model of choice will be logistic regression for the following response variables: Physical check up, dental check up, urgent care, and folk medicine.
Physical check up
mod2 <- glm(`Physical Check-up`~Income + Age + Gender + `Health Insurance` + `Dental Insurance`,
data=qol,
family="binomial")
mod3 <- glm(`Physical Check-up`~Income + Age + Gender + `Health Insurance` + `Dental Insurance` + Ethnicity,
data=qol,
family="binomial")
summary(mod2)
Call:
glm(formula = `Physical Check-up` ~ Income + Age + Gender + `Health Insurance` +
`Dental Insurance`, family = "binomial", data = qol)
Coefficients:
Estimate Std. Error z value Pr(>|z|)
(Intercept) -1.791676 0.221500 -8.089 6.02e-16 ***
Income$10,000 - $19,999 -0.165434 0.214035 -0.773 0.4396
Income$20,000 - $29,999 -0.100058 0.216709 -0.462 0.6443
Income$30,000 - $39,999 0.071347 0.218307 0.327 0.7438
Income$40,000 - $49,999 -0.113657 0.222478 -0.511 0.6094
Income$50,000 - $59,999 0.183865 0.228487 0.805 0.4210
Income$60,000 - $69,999 -0.150382 0.220380 -0.682 0.4950
Income$70,000 and over 0.468626 0.172532 2.716 0.0066 **
Age 0.027938 0.003073 9.092 < 2e-16 ***
GenderMale -0.605188 0.098124 -6.168 6.94e-10 ***
`Health Insurance`Yes 1.376535 0.148848 9.248 < 2e-16 ***
`Dental Insurance`Yes 0.634931 0.114134 5.563 2.65e-08 ***
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
(Dispersion parameter for binomial family taken to be 1)
Null deviance: 2948.2 on 2340 degrees of freedom
Residual deviance: 2563.2 on 2329 degrees of freedom
(268 observations deleted due to missingness)
AIC: 2587.2
Number of Fisher Scoring iterations: 4
car::vif(mod2) GVIF Df GVIF^(1/(2*Df))
Income 1.251830 7 1.016173
Age 1.045017 1 1.022261
Gender 1.031051 1 1.015407
`Health Insurance` 1.217957 1 1.103611
`Dental Insurance` 1.381205 1 1.175247
car::Anova(mod2) %>% round(3)Analysis of Deviance Table (Type II tests)
Response: Physical Check-up
LR Chisq Df Pr(>Chisq)
Income 25.851 7 0.001 ***
Age 88.724 1 <2e-16 ***
Gender 38.644 1 <2e-16 ***
`Health Insurance` 90.705 1 <2e-16 ***
`Dental Insurance` 30.726 1 <2e-16 ***
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
summary(mod3)
Call:
glm(formula = `Physical Check-up` ~ Income + Age + Gender + `Health Insurance` +
`Dental Insurance` + Ethnicity, family = "binomial", data = qol)
Coefficients:
Estimate Std. Error z value Pr(>|z|)
(Intercept) -1.852115 0.238185 -7.776 7.49e-15 ***
Income$10,000 - $19,999 -0.174121 0.215485 -0.808 0.419066
Income$20,000 - $29,999 -0.126341 0.221148 -0.571 0.567799
Income$30,000 - $39,999 0.077850 0.222946 0.349 0.726948
Income$40,000 - $49,999 -0.117466 0.226777 -0.518 0.604473
Income$50,000 - $59,999 0.282262 0.231499 1.219 0.222738
Income$60,000 - $69,999 -0.032230 0.223516 -0.144 0.885347
Income$70,000 and over 0.590740 0.174999 3.376 0.000736 ***
Age 0.029034 0.003129 9.279 < 2e-16 ***
GenderMale -0.625762 0.101055 -6.192 5.93e-10 ***
`Health Insurance`Yes 1.407716 0.150764 9.337 < 2e-16 ***
`Dental Insurance`Yes 0.520273 0.117424 4.431 9.39e-06 ***
EthnicityAsian Indian 0.017213 0.145624 0.118 0.905908
EthnicityFilipino 0.340001 0.198125 1.716 0.086144 .
EthnicityKorean -0.532275 0.146953 -3.622 0.000292 ***
EthnicityOther -0.135731 0.231250 -0.587 0.557241
EthnicityVietnamese 0.459230 0.155465 2.954 0.003138 **
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
(Dispersion parameter for binomial family taken to be 1)
Null deviance: 2948.2 on 2340 degrees of freedom
Residual deviance: 2519.3 on 2324 degrees of freedom
(268 observations deleted due to missingness)
AIC: 2553.3
Number of Fisher Scoring iterations: 4
car::vif(mod3) GVIF Df GVIF^(1/(2*Df))
Income 1.397966 7 1.024219
Age 1.063751 1 1.031383
Gender 1.071561 1 1.035162
`Health Insurance` 1.229949 1 1.109031
`Dental Insurance` 1.431618 1 1.196502
Ethnicity 1.229986 5 1.020916
car::Anova(mod3) %>% round(3)Analysis of Deviance Table (Type II tests)
Response: Physical Check-up
LR Chisq Df Pr(>Chisq)
Income 33.852 7 < 2.2e-16 ***
Age 92.732 1 < 2.2e-16 ***
Gender 38.996 1 < 2.2e-16 ***
`Health Insurance` 92.711 1 < 2.2e-16 ***
`Dental Insurance` 19.461 1 < 2.2e-16 ***
Ethnicity 43.845 5 < 2.2e-16 ***
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
anova(mod2,mod3,test="LRT")Analysis of Deviance Table
Model 1: `Physical Check-up` ~ Income + Age + Gender + `Health Insurance` +
`Dental Insurance`
Model 2: `Physical Check-up` ~ Income + Age + Gender + `Health Insurance` +
`Dental Insurance` + Ethnicity
Resid. Df Resid. Dev Df Deviance Pr(>Chi)
1 2329 2563.2
2 2324 2519.3 5 43.845 2.49e-08 ***
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
data.frame(BIC_mod2=BIC(mod2), BIC_mod3=BIC(mod3)) |> mutate(Diff=BIC_mod3-BIC_mod2) BIC_mod2 BIC_mod3 Diff
1 2656.26 2651.206 -5.053363
The ethnicity model has a lower BIC and residual deviance, which implies better model performance compared to the model without the ethnicity included.
Dental check up
mod2 <- glm(`Dentist Check-up`~Income + Age + Gender + `Health Insurance` + `Dental Insurance`,
data=qol,
family="binomial")
mod3 <- glm(`Dentist Check-up`~Income + Age + Gender + `Health Insurance` + `Dental Insurance` + Ethnicity,
data=qol,
family="binomial")
summary(mod2)
Call:
glm(formula = `Dentist Check-up` ~ Income + Age + Gender + `Health Insurance` +
`Dental Insurance`, family = "binomial", data = qol)
Coefficients:
Estimate Std. Error z value Pr(>|z|)
(Intercept) -1.564608 0.218250 -7.169 7.56e-13 ***
Income$10,000 - $19,999 -0.355973 0.215685 -1.650 0.098856 .
Income$20,000 - $29,999 -0.119991 0.215247 -0.557 0.577215
Income$30,000 - $39,999 0.197338 0.212110 0.930 0.352186
Income$40,000 - $49,999 -0.029866 0.218651 -0.137 0.891355
Income$50,000 - $59,999 0.466839 0.223983 2.084 0.037136 *
Income$60,000 - $69,999 -0.130191 0.216663 -0.601 0.547913
Income$70,000 and over 0.548444 0.167810 3.268 0.001082 **
Age 0.016451 0.002879 5.715 1.10e-08 ***
GenderMale -0.611567 0.095164 -6.426 1.31e-10 ***
`Health Insurance`Yes 0.540154 0.151323 3.570 0.000358 ***
`Dental Insurance`Yes 1.399448 0.109933 12.730 < 2e-16 ***
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
(Dispersion parameter for binomial family taken to be 1)
Null deviance: 3169.7 on 2332 degrees of freedom
Residual deviance: 2696.3 on 2321 degrees of freedom
(276 observations deleted due to missingness)
AIC: 2720.3
Number of Fisher Scoring iterations: 4
car::vif(mod2) GVIF Df GVIF^(1/(2*Df))
Income 1.212765 7 1.013874
Age 1.049007 1 1.024210
Gender 1.034115 1 1.016914
`Health Insurance` 1.188875 1 1.090355
`Dental Insurance` 1.348203 1 1.161122
car::Anova(mod2) %>% round(3)Analysis of Deviance Table (Type II tests)
Response: Dentist Check-up
LR Chisq Df Pr(>Chisq)
Income 43.514 7 < 2.2e-16 ***
Age 33.298 1 < 2.2e-16 ***
Gender 42.036 1 < 2.2e-16 ***
`Health Insurance` 13.047 1 < 2.2e-16 ***
`Dental Insurance` 168.903 1 < 2.2e-16 ***
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
summary(mod3)
Call:
glm(formula = `Dentist Check-up` ~ Income + Age + Gender + `Health Insurance` +
`Dental Insurance` + Ethnicity, family = "binomial", data = qol)
Coefficients:
Estimate Std. Error z value Pr(>|z|)
(Intercept) -1.227465 0.233222 -5.263 1.42e-07 ***
Income$10,000 - $19,999 -0.502910 0.218675 -2.300 0.021459 *
Income$20,000 - $29,999 -0.320628 0.218282 -1.469 0.141869
Income$30,000 - $39,999 0.063815 0.215561 0.296 0.767199
Income$40,000 - $49,999 -0.186746 0.222172 -0.841 0.400602
Income$50,000 - $59,999 0.421417 0.225512 1.869 0.061663 .
Income$60,000 - $69,999 -0.117850 0.220987 -0.533 0.593832
Income$70,000 and over 0.633374 0.170046 3.725 0.000196 ***
Age 0.015498 0.002935 5.281 1.29e-07 ***
GenderMale -0.503110 0.098166 -5.125 2.97e-07 ***
`Health Insurance`Yes 0.572604 0.153190 3.738 0.000186 ***
`Dental Insurance`Yes 1.391181 0.113559 12.251 < 2e-16 ***
EthnicityAsian Indian -1.062227 0.144800 -7.336 2.20e-13 ***
EthnicityFilipino -0.031389 0.189558 -0.166 0.868478
EthnicityKorean -0.448159 0.148279 -3.022 0.002508 **
EthnicityOther -0.202173 0.234423 -0.862 0.388452
EthnicityVietnamese -0.011413 0.149074 -0.077 0.938975
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
(Dispersion parameter for binomial family taken to be 1)
Null deviance: 3169.7 on 2332 degrees of freedom
Residual deviance: 2622.4 on 2316 degrees of freedom
(276 observations deleted due to missingness)
AIC: 2656.4
Number of Fisher Scoring iterations: 4
car::vif(mod3) GVIF Df GVIF^(1/(2*Df))
Income 1.378711 7 1.023204
Age 1.058330 1 1.028752
Gender 1.065155 1 1.032063
`Health Insurance` 1.190317 1 1.091017
`Dental Insurance` 1.396124 1 1.181577
Ethnicity 1.280598 5 1.025041
car::Anova(mod3) %>% round(3)Analysis of Deviance Table (Type II tests)
Response: Dentist Check-up
LR Chisq Df Pr(>Chisq)
Income 62.672 7 < 2.2e-16 ***
Age 28.263 1 < 2.2e-16 ***
Gender 26.512 1 < 2.2e-16 ***
`Health Insurance` 14.312 1 < 2.2e-16 ***
`Dental Insurance` 156.605 1 < 2.2e-16 ***
Ethnicity 73.873 5 < 2.2e-16 ***
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
anova(mod2,mod3,test="LRT")Analysis of Deviance Table
Model 1: `Dentist Check-up` ~ Income + Age + Gender + `Health Insurance` +
`Dental Insurance`
Model 2: `Dentist Check-up` ~ Income + Age + Gender + `Health Insurance` +
`Dental Insurance` + Ethnicity
Resid. Df Resid. Dev Df Deviance Pr(>Chi)
1 2321 2696.3
2 2316 2622.4 5 73.873 1.599e-14 ***
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
data.frame(BIC_mod2=BIC(mod2), BIC_mod3=BIC(mod3)) |> mutate(Diff=BIC_mod3-BIC_mod2) BIC_mod2 BIC_mod3 Diff
1 2789.363 2754.264 -35.09842
The ethnicity model has a lower BIC and residual deviance, which implies better model performance compared to the model without the ethnicity included.
Urgent Care
mod2 <- glm(`Urgentcare`~Income + Age + Gender + `Health Insurance` + `Dental Insurance`,
data=qol,
family="binomial")
mod3 <- glm(`Urgentcare`~Income + Age + Gender + `Health Insurance` + `Dental Insurance` + Ethnicity,
data=qol,
family="binomial")
summary(mod2)
Call:
glm(formula = Urgentcare ~ Income + Age + Gender + `Health Insurance` +
`Dental Insurance`, family = "binomial", data = qol)
Coefficients:
Estimate Std. Error z value Pr(>|z|)
(Intercept) -2.628813 0.285621 -9.204 < 2e-16 ***
Income$10,000 - $19,999 0.103635 0.266389 0.389 0.69725
Income$20,000 - $29,999 0.291749 0.259072 1.126 0.26011
Income$30,000 - $39,999 -0.239587 0.278005 -0.862 0.38879
Income$40,000 - $49,999 0.163175 0.266674 0.612 0.54061
Income$50,000 - $59,999 -0.012392 0.275700 -0.045 0.96415
Income$60,000 - $69,999 0.049139 0.267143 0.184 0.85406
Income$70,000 and over -0.090993 0.209564 -0.434 0.66414
Age 0.009455 0.003400 2.781 0.00542 **
GenderMale 0.046069 0.111497 0.413 0.67947
`Health Insurance`Yes 0.461500 0.208546 2.213 0.02690 *
`Dental Insurance`Yes 0.365912 0.137902 2.653 0.00797 **
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
(Dispersion parameter for binomial family taken to be 1)
Null deviance: 2134.9 on 2324 degrees of freedom
Residual deviance: 2104.7 on 2313 degrees of freedom
(284 observations deleted due to missingness)
AIC: 2128.7
Number of Fisher Scoring iterations: 4
car::vif(mod2) GVIF Df GVIF^(1/(2*Df))
Income 1.244903 7 1.015770
Age 1.025471 1 1.012656
Gender 1.012255 1 1.006109
`Health Insurance` 1.192892 1 1.092196
`Dental Insurance` 1.381201 1 1.175245
car::Anova(mod2) %>% round(3)Analysis of Deviance Table (Type II tests)
Response: Urgentcare
LR Chisq Df Pr(>Chisq)
Income 5.677 7 0.578
Age 7.663 1 0.006 **
Gender 0.171 1 0.680
`Health Insurance` 5.203 1 0.023 *
`Dental Insurance` 7.218 1 0.007 **
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
summary(mod3)
Call:
glm(formula = Urgentcare ~ Income + Age + Gender + `Health Insurance` +
`Dental Insurance` + Ethnicity, family = "binomial", data = qol)
Coefficients:
Estimate Std. Error z value Pr(>|z|)
(Intercept) -3.029825 0.310965 -9.743 < 2e-16 ***
Income$10,000 - $19,999 0.143040 0.268911 0.532 0.59478
Income$20,000 - $29,999 0.244280 0.262371 0.931 0.35183
Income$30,000 - $39,999 -0.308454 0.281026 -1.098 0.27238
Income$40,000 - $49,999 0.098707 0.269453 0.366 0.71412
Income$50,000 - $59,999 -0.038185 0.278140 -0.137 0.89080
Income$60,000 - $69,999 0.056761 0.268558 0.211 0.83261
Income$70,000 and over -0.053120 0.210768 -0.252 0.80102
Age 0.009016 0.003459 2.607 0.00915 **
GenderMale 0.072787 0.114311 0.637 0.52429
`Health Insurance`Yes 0.468559 0.208911 2.243 0.02491 *
`Dental Insurance`Yes 0.339428 0.140732 2.412 0.01587 *
EthnicityAsian Indian 0.357767 0.180361 1.984 0.04730 *
EthnicityFilipino 0.624667 0.207249 3.014 0.00258 **
EthnicityKorean 0.511938 0.182607 2.803 0.00506 **
EthnicityOther 0.495625 0.263786 1.879 0.06026 .
EthnicityVietnamese 0.662442 0.177498 3.732 0.00019 ***
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
(Dispersion parameter for binomial family taken to be 1)
Null deviance: 2134.9 on 2324 degrees of freedom
Residual deviance: 2087.1 on 2308 degrees of freedom
(284 observations deleted due to missingness)
AIC: 2121.1
Number of Fisher Scoring iterations: 4
car::vif(mod3) GVIF Df GVIF^(1/(2*Df))
Income 1.382138 7 1.023386
Age 1.038338 1 1.018989
Gender 1.055916 1 1.027578
`Health Insurance` 1.191390 1 1.091508
`Dental Insurance` 1.428024 1 1.195000
Ethnicity 1.222646 5 1.020305
car::Anova(mod3) %>% round(3)Analysis of Deviance Table (Type II tests)
Response: Urgentcare
LR Chisq Df Pr(>Chisq)
Income 5.118 7 0.646
Age 6.732 1 0.009 **
Gender 0.405 1 0.524
`Health Insurance` 5.347 1 0.021 *
`Dental Insurance` 5.941 1 0.015 *
Ethnicity 17.629 5 0.003 **
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
anova(mod2,mod3,test="LRT")Analysis of Deviance Table
Model 1: Urgentcare ~ Income + Age + Gender + `Health Insurance` + `Dental Insurance`
Model 2: Urgentcare ~ Income + Age + Gender + `Health Insurance` + `Dental Insurance` +
Ethnicity
Resid. Df Resid. Dev Df Deviance Pr(>Chi)
1 2313 2104.7
2 2308 2087.1 5 17.629 0.003449 **
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
data.frame(BIC_mod2=BIC(mod2), BIC_mod3=BIC(mod3)) |> mutate(Diff=BIC_mod3-BIC_mod2) BIC_mod2 BIC_mod3 Diff
1 2197.747 2218.875 21.12804
The ethnicity model has a lower residual deviance but higher BIC, which implies that there is no evidence of better model performance when ethnicity is added to the model.
Folk medicine
mod2 <- glm(Folkmedicine~Income + Age + Gender + `Health Insurance` + `Dental Insurance`,
data=qol,
family="binomial")
mod3 <- glm(Folkmedicine~Income + Age + Gender + `Health Insurance` + `Dental Insurance` + Ethnicity,
data=qol,
family="binomial")
summary(mod2)
Call:
glm(formula = Folkmedicine ~ Income + Age + Gender + `Health Insurance` +
`Dental Insurance`, family = "binomial", data = qol)
Coefficients:
Estimate Std. Error z value Pr(>|z|)
(Intercept) -3.382774 0.330715 -10.229 < 2e-16 ***
Income$10,000 - $19,999 0.673935 0.304433 2.214 0.02685 *
Income$20,000 - $29,999 0.541475 0.321107 1.686 0.09174 .
Income$30,000 - $39,999 0.864416 0.301175 2.870 0.00410 **
Income$40,000 - $49,999 0.388059 0.333190 1.165 0.24415
Income$50,000 - $59,999 0.573504 0.325026 1.764 0.07765 .
Income$60,000 - $69,999 0.794680 0.318034 2.499 0.01246 *
Income$70,000 and over 0.626996 0.263888 2.376 0.01750 *
Age 0.026843 0.003763 7.133 9.84e-13 ***
GenderMale -0.347185 0.126002 -2.755 0.00586 **
`Health Insurance`Yes -0.133492 0.196643 -0.679 0.49723
`Dental Insurance`Yes 0.048323 0.150114 0.322 0.74752
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
(Dispersion parameter for binomial family taken to be 1)
Null deviance: 1843.9 on 2309 degrees of freedom
Residual deviance: 1773.3 on 2298 degrees of freedom
(299 observations deleted due to missingness)
AIC: 1797.3
Number of Fisher Scoring iterations: 5
car::vif(mod2) GVIF Df GVIF^(1/(2*Df))
Income 1.268863 7 1.017154
Age 1.057633 1 1.028413
Gender 1.009714 1 1.004845
`Health Insurance` 1.251371 1 1.118647
`Dental Insurance` 1.434294 1 1.197620
car::Anova(mod2) %>% round(3)Analysis of Deviance Table (Type II tests)
Response: Folkmedicine
LR Chisq Df Pr(>Chisq)
Income 11.222 7 0.129
Age 51.608 1 <2e-16 ***
Gender 7.705 1 0.006 **
`Health Insurance` 0.456 1 0.500
`Dental Insurance` 0.104 1 0.747
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
summary(mod3)
Call:
glm(formula = Folkmedicine ~ Income + Age + Gender + `Health Insurance` +
`Dental Insurance` + Ethnicity, family = "binomial", data = qol)
Coefficients:
Estimate Std. Error z value Pr(>|z|)
(Intercept) -3.018154 0.347709 -8.680 < 2e-16 ***
Income$10,000 - $19,999 0.611878 0.309753 1.975 0.04823 *
Income$20,000 - $29,999 0.562372 0.328592 1.711 0.08700 .
Income$30,000 - $39,999 0.847733 0.308206 2.751 0.00595 **
Income$40,000 - $49,999 0.363136 0.340150 1.068 0.28571
Income$50,000 - $59,999 0.439830 0.331955 1.325 0.18518
Income$60,000 - $69,999 0.629878 0.324214 1.943 0.05204 .
Income$70,000 and over 0.451240 0.269132 1.677 0.09361 .
Age 0.026241 0.003815 6.878 6.05e-12 ***
GenderMale -0.301015 0.129537 -2.324 0.02014 *
`Health Insurance`Yes -0.106211 0.199708 -0.532 0.59484
`Dental Insurance`Yes 0.211142 0.155190 1.361 0.17366
EthnicityAsian Indian -0.790092 0.201162 -3.928 8.58e-05 ***
EthnicityFilipino -0.818803 0.250572 -3.268 0.00108 **
EthnicityKorean 0.191121 0.162968 1.173 0.24089
EthnicityOther -0.623253 0.309280 -2.015 0.04389 *
EthnicityVietnamese -1.094267 0.213666 -5.121 3.03e-07 ***
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
(Dispersion parameter for binomial family taken to be 1)
Null deviance: 1843.9 on 2309 degrees of freedom
Residual deviance: 1711.3 on 2293 degrees of freedom
(299 observations deleted due to missingness)
AIC: 1745.3
Number of Fisher Scoring iterations: 5
car::vif(mod3) GVIF Df GVIF^(1/(2*Df))
Income 1.382160 7 1.023387
Age 1.052858 1 1.026089
Gender 1.035179 1 1.017437
`Health Insurance` 1.244334 1 1.115497
`Dental Insurance` 1.487271 1 1.219537
Ethnicity 1.167382 5 1.015597
car::Anova(mod3) %>% round(3)Analysis of Deviance Table (Type II tests)
Response: Folkmedicine
LR Chisq Df Pr(>Chisq)
Income 9.299 7 0.232
Age 47.837 1 <2e-16 ***
Gender 5.464 1 0.019 *
`Health Insurance` 0.280 1 0.596
`Dental Insurance` 1.870 1 0.171
Ethnicity 62.007 5 <2e-16 ***
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
anova(mod2,mod3,test="LRT")Analysis of Deviance Table
Model 1: Folkmedicine ~ Income + Age + Gender + `Health Insurance` + `Dental Insurance`
Model 2: Folkmedicine ~ Income + Age + Gender + `Health Insurance` + `Dental Insurance` +
Ethnicity
Resid. Df Resid. Dev Df Deviance Pr(>Chi)
1 2298 1773.3
2 2293 1711.3 5 62.007 4.673e-12 ***
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
data.frame(BIC_mod2=BIC(mod2), BIC_mod3=BIC(mod3)) |> mutate(Diff=BIC_mod3-BIC_mod2) BIC_mod2 BIC_mod3 Diff
1 1866.23 1842.948 -23.28243